home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Tutorial / Cookbook / 41.PieChart / slice.c < prev    next >
C/C++ Source or Header  |  1995-06-12  |  8KB  |  217 lines

  1. /* slice.c generated from slice.psw
  2.    by unix pswrap V1.009  Wed Apr 19 17:50:24 PDT 1989
  3.  */
  4.  
  5. #include <dpsclient/dpsfriends.h>
  6. #include <string.h>
  7.  
  8. #line 1 "slice.psw"
  9. #line 10 "slice.c"
  10. void drawSlice(float grayshade, float radius, float startangle, float endangle, float labelps, const char *thelabel)
  11. {
  12.   typedef struct {
  13.     unsigned char tokenType;
  14.     unsigned char sizeFlag;
  15.     unsigned short topLevelCount;
  16.     unsigned long nBytes;
  17.  
  18.     DPSBinObjGeneric obj0;
  19.     DPSBinObjGeneric obj1;
  20.     DPSBinObjGeneric obj2;
  21.     DPSBinObjGeneric obj3;
  22.     DPSBinObjGeneric obj4;
  23.     DPSBinObjGeneric obj5;
  24.     DPSBinObjGeneric obj6;
  25.     DPSBinObjGeneric obj7;
  26.     DPSBinObjReal obj8;
  27.     DPSBinObjReal obj9;
  28.     DPSBinObjReal obj10;
  29.     DPSBinObjGeneric obj11;
  30.     DPSBinObjGeneric obj12;
  31.     DPSBinObjReal obj13;
  32.     DPSBinObjGeneric obj14;
  33.     DPSBinObjGeneric obj15;
  34.     DPSBinObjReal obj16;
  35.     DPSBinObjGeneric obj17;
  36.     DPSBinObjGeneric obj18;
  37.     DPSBinObjGeneric obj19;
  38.     DPSBinObjGeneric obj20;
  39.     DPSBinObjGeneric obj21;
  40.     DPSBinObjReal obj22;
  41.     DPSBinObjReal obj23;
  42.     DPSBinObjGeneric obj24;
  43.     DPSBinObjGeneric obj25;
  44.     DPSBinObjGeneric obj26;
  45.     DPSBinObjGeneric obj27;
  46.     DPSBinObjReal obj28;
  47.     DPSBinObjGeneric obj29;
  48.     DPSBinObjGeneric obj30;
  49.     DPSBinObjGeneric obj31;
  50.     DPSBinObjGeneric obj32;
  51.     DPSBinObjGeneric obj33;
  52.     DPSBinObjGeneric obj34;
  53.     DPSBinObjReal obj35;
  54.     DPSBinObjReal obj36;
  55.     DPSBinObjGeneric obj37;
  56.     DPSBinObjGeneric obj38;
  57.     DPSBinObjGeneric obj39;
  58.     DPSBinObjGeneric obj40;
  59.     DPSBinObjReal obj41;
  60.     DPSBinObjGeneric obj42;
  61.     DPSBinObjGeneric obj43;
  62.     DPSBinObjGeneric obj44;
  63.     DPSBinObjGeneric obj45;
  64.     DPSBinObjGeneric obj46;
  65.     DPSBinObjGeneric obj47;
  66.     DPSBinObjGeneric obj48;
  67.     DPSBinObjGeneric obj49;
  68.     DPSBinObjGeneric obj50;
  69.     DPSBinObjGeneric obj51;
  70.     DPSBinObjGeneric obj52;
  71.     DPSBinObjGeneric obj53;
  72.     DPSBinObjGeneric obj54;
  73.     DPSBinObjGeneric obj55;
  74.     DPSBinObjGeneric obj56;
  75.     DPSBinObjGeneric obj57;
  76.     DPSBinObjGeneric obj58;
  77.     DPSBinObjGeneric obj59;
  78.     DPSBinObjGeneric obj60;
  79.     DPSBinObjGeneric obj61;
  80.     DPSBinObjGeneric obj62;
  81.     DPSBinObjGeneric obj63;
  82.     DPSBinObjGeneric obj64;
  83.     DPSBinObjGeneric obj65;
  84.     DPSBinObjGeneric obj66;
  85.     DPSBinObjGeneric obj67;
  86.     DPSBinObjGeneric obj68;
  87.     DPSBinObjGeneric obj69;
  88.     DPSBinObjGeneric obj70;
  89.     DPSBinObjReal obj71;
  90.     DPSBinObjGeneric obj72;
  91.     DPSBinObjGeneric obj73;
  92.     DPSBinObjGeneric obj74;
  93.     DPSBinObjGeneric obj75;
  94.     DPSBinObjGeneric obj76;
  95.     DPSBinObjGeneric obj77;
  96.     DPSBinObjGeneric obj78;
  97.     DPSBinObjGeneric obj79;
  98.     } _dpsQ;
  99.   static const _dpsQ _dpsStat = {
  100.     DPS_DEF_TOKENTYPE, 0, 70, 648,
  101.     {DPS_LITERAL|DPS_INT, 0, 0, 1},
  102.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 155},    /* setlinewidth */
  103.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 111},    /* newpath */
  104.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  105.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  106.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},    /* moveto */
  107.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  108.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  109.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: radius */
  110.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: startangle */
  111.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: endangle */
  112.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 5},    /* arc */
  113.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 22},    /* closepath */
  114.     {DPS_LITERAL|DPS_REAL, 0, 0, 1.415},
  115.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 346},    /* setmiterlimit */
  116.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 78},    /* gsave */
  117.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: grayshade */
  118.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 150},    /* setgray */
  119.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 66},    /* fill */
  120.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 77},    /* grestore */
  121.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 167},    /* stroke */
  122.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 78},    /* gsave */
  123.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: startangle */
  124.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: endangle */
  125.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 1},    /* add */
  126.     {DPS_LITERAL|DPS_INT, 0, 0, 2},
  127.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54},    /* div */
  128.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 136},    /* rotate */
  129.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: radius */
  130.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  131.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 173},    /* translate */
  132.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 111},    /* newpath */
  133.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  134.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  135.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},    /* moveto */
  136.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: labelps */
  137.     {DPS_LITERAL|DPS_REAL, 0, 0, .8},
  138.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 108},    /* mul */
  139.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  140.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 99},    /* lineto */
  141.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 167},    /* stroke */
  142.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: labelps */
  143.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  144.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 173},    /* translate */
  145.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  146.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  147.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 172},    /* transform */
  148.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 77},    /* grestore */
  149.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 95},    /* itransform */
  150.     {DPS_LITERAL|DPS_NAME, 0, DPSSYSNAME, 426},    /* y */
  151.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},    /* exch */
  152.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  153.     {DPS_LITERAL|DPS_NAME, 0, DPSSYSNAME, 425},    /* x */
  154.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62},    /* exch */
  155.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51},    /* def */
  156.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 425},    /* x */
  157.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 426},    /* y */
  158.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107},    /* moveto */
  159.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 425},    /* x */
  160.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  161.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 102},    /* lt */
  162.     {DPS_EXEC|DPS_ARRAY, 0, 6, 592},
  163.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84},    /* if */
  164.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 426},    /* y */
  165.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  166.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 102},    /* lt */
  167.     {DPS_EXEC|DPS_ARRAY, 0, 4, 560},
  168.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84},    /* if */
  169.     {DPS_LITERAL|DPS_STRING, 0, 0, 640},    /* param thelabel */
  170.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 160},    /* show */
  171.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  172.     {DPS_LITERAL|DPS_REAL, 0, 0, 0},    /* param: labelps */
  173.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 110},    /* neg */
  174.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 134},    /* rmoveto */
  175.     {DPS_LITERAL|DPS_STRING, 0, 0, 640},    /* param thelabel */
  176.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 166},    /* stringwidth */
  177.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117},    /* pop */
  178.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 110},    /* neg */
  179.     {DPS_LITERAL|DPS_INT, 0, 0, 0},
  180.     {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 134},    /* rmoveto */
  181.     }; /* _dpsQ */
  182.   _dpsQ _dpsF;    /* local copy  */
  183.   register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();
  184.   char pad[3];
  185.   register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;
  186.   register int _dps_offset = 640;
  187.   _dpsF = _dpsStat;    /* assign automatic variable */
  188.  
  189.   _dpsP[16].val.realVal = grayshade;
  190.   _dpsP[8].val.realVal =
  191.   _dpsP[28].val.realVal = radius;
  192.   _dpsP[9].val.realVal =
  193.   _dpsP[22].val.realVal = startangle;
  194.   _dpsP[10].val.realVal =
  195.   _dpsP[23].val.realVal = endangle;
  196.   _dpsP[35].val.realVal =
  197.   _dpsP[41].val.realVal =
  198.   _dpsP[71].val.realVal = labelps;
  199.   _dpsP[74].length =
  200.   _dpsP[68].length = strlen(thelabel);
  201.   _dpsP[74].val.stringVal = _dps_offset;
  202.   _dps_offset += (_dpsP[74].length + 3) & ~3;
  203.   _dpsP[68].val.stringVal = _dps_offset;
  204.   _dps_offset += (_dpsP[68].length + 3) & ~3;
  205.  
  206.   _dpsF.nBytes = _dps_offset+8;
  207.   DPSBinObjSeqWrite(_dpsCurCtxt,(char *) &_dpsF,648);
  208.   DPSWriteStringChars(_dpsCurCtxt, (char *)thelabel, _dpsP[74].length);
  209.   DPSWriteStringChars(_dpsCurCtxt, (char *)pad, ~(_dpsP[74].length + 3) & 3);
  210.   DPSWriteStringChars(_dpsCurCtxt, (char *)thelabel, _dpsP[68].length);
  211.   DPSWriteStringChars(_dpsCurCtxt, (char *)pad, ~(_dpsP[68].length + 3) & 3);
  212.   if (0) *pad = 0;    /* quiets compiler warnings */
  213. }
  214. #line 31 "slice.psw"
  215.  
  216.  
  217.